local Hooks = {}

function hook.GetTable()
	return Hooks
end

function hook.Add(event_name,name,func)
	if (Hooks[event_name] == nil) then
		Hooks[event_name] = {}
	end
	
	Hooks[event_name][name] = func
end

function hook.Remove(event_name,name)
	Hooks[event_name][name] = nil
end

function hook.Call(name,...)
	local args = {...}
	if (Hooks[name] ~= nil) then
		for k,v in pairs(Hooks[name]) do
			v(unpack(args))
		end
	end
end